Skip to main content

文件系统与权限详解

理解文件系统与权限控制是操作系统安全与资源管理的基础,尤其在 Linux/Windows 系统开发与运维中至关重要。


📂 文件系统简介

系统文件系统特点
Linuxext4, xfs, btrfs支持权限、符号链接、日志
WindowsNTFS, FAT32NTFS 支持详细权限控制
macOSAPFS优化 SSD 读写速度

🛡️ 权限控制概念

权限类型:

权限描述
r读(读取文件或列出目录)
w写(修改文件或创建子文件)
x执行(运行脚本或进入目录)

用户角色(Linux):

角色描述
所有者(owner)创建该文件的用户
所属组(group)同组用户权限
其他人(others)所有其他用户

🧑‍💻 Linux 权限管理

✅ 查看权限

ls -l

输出示例:

-rwxr-xr-- 1 user group 1234 Apr 13 script.sh

✅ 修改权限(chmod)

chmod 755 run.sh     # rwxr-xr-x
chmod +x deploy.sh # 添加执行权限
chmod -w readonly.txt # 移除写权限

✅ 修改所属者(chown)

chown root:root file.txt  # 改 owner 和 group
chown user file.txt # 改 owner

🪟 Windows 权限控制(NTFS)

✅ 使用 icacls 命令

icacls "file.txt"
icacls "file.txt" /grant username:F # 完全控制
icacls "file.txt" /remove username # 移除权限
icacls "file.txt" /inheritance:r # 关闭权限继承

📦 使用场景与推荐权限

场景权限设置
Shell 脚本运行chmod +x deploy.sh
配置文件 .envchmod 600 .env 仅限当前用户
公共静态目录chmod 755 /var/www
日志文件chmod 644 /var/log/app.log

🔧 权限数字简表

r = 4, w = 2, x = 1
rwx = 7, rw- = 6, r-- = 4
权限含义
755所有者全部权限,组与其他可读可执行
644所有者可读写,其他人只读
700仅自己访问和执行

🛠️ 常见问题与解决方案

Permission denied

原因:缺少执行/访问权限。

解决:使用 chmod +x filename 添加权限。

脚本无法运行

可能原因:

  • 没有执行权限
  • 缺少 shebang(如 #!/bin/bash
Windows 无法访问文件夹

请右键 → 属性 → 安全 → 添加用户并授予权限,或使用 icacls 命令设置。


📚 推荐资源